/**
 * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.hellodoctor.slayer.model;

import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.ModelWrapper;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * This class is a wrapper for {@link Profile}.
 * </p>
 *
 * @author Shahbaj
 * @see Profile
 * @generated
 */
public class ProfileWrapper implements Profile, ModelWrapper<Profile> {
	public ProfileWrapper(Profile profile) {
		_profile = profile;
	}

	@Override
	public Class<?> getModelClass() {
		return Profile.class;
	}

	@Override
	public String getModelClassName() {
		return Profile.class.getName();
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("profileId", getProfileId());
		attributes.put("userId", getUserId());
		attributes.put("isDoctor", getIsDoctor());
		attributes.put("speciality", getSpeciality());
		attributes.put("qualification", getQualification());
		attributes.put("practicingSince", getPracticingSince());
		attributes.put("createDate", getCreateDate());
		attributes.put("modifiedDate", getModifiedDate());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long profileId = (Long)attributes.get("profileId");

		if (profileId != null) {
			setProfileId(profileId);
		}

		Long userId = (Long)attributes.get("userId");

		if (userId != null) {
			setUserId(userId);
		}

		Boolean isDoctor = (Boolean)attributes.get("isDoctor");

		if (isDoctor != null) {
			setIsDoctor(isDoctor);
		}

		Integer speciality = (Integer)attributes.get("speciality");

		if (speciality != null) {
			setSpeciality(speciality);
		}

		Integer qualification = (Integer)attributes.get("qualification");

		if (qualification != null) {
			setQualification(qualification);
		}

		Integer practicingSince = (Integer)attributes.get("practicingSince");

		if (practicingSince != null) {
			setPracticingSince(practicingSince);
		}

		Date createDate = (Date)attributes.get("createDate");

		if (createDate != null) {
			setCreateDate(createDate);
		}

		Date modifiedDate = (Date)attributes.get("modifiedDate");

		if (modifiedDate != null) {
			setModifiedDate(modifiedDate);
		}
	}

	/**
	* Returns the primary key of this profile.
	*
	* @return the primary key of this profile
	*/
	@Override
	public long getPrimaryKey() {
		return _profile.getPrimaryKey();
	}

	/**
	* Sets the primary key of this profile.
	*
	* @param primaryKey the primary key of this profile
	*/
	@Override
	public void setPrimaryKey(long primaryKey) {
		_profile.setPrimaryKey(primaryKey);
	}

	/**
	* Returns the profile ID of this profile.
	*
	* @return the profile ID of this profile
	*/
	@Override
	public long getProfileId() {
		return _profile.getProfileId();
	}

	/**
	* Sets the profile ID of this profile.
	*
	* @param profileId the profile ID of this profile
	*/
	@Override
	public void setProfileId(long profileId) {
		_profile.setProfileId(profileId);
	}

	/**
	* Returns the user ID of this profile.
	*
	* @return the user ID of this profile
	*/
	@Override
	public long getUserId() {
		return _profile.getUserId();
	}

	/**
	* Sets the user ID of this profile.
	*
	* @param userId the user ID of this profile
	*/
	@Override
	public void setUserId(long userId) {
		_profile.setUserId(userId);
	}

	/**
	* Returns the user uuid of this profile.
	*
	* @return the user uuid of this profile
	* @throws SystemException if a system exception occurred
	*/
	@Override
	public java.lang.String getUserUuid()
		throws com.liferay.portal.kernel.exception.SystemException {
		return _profile.getUserUuid();
	}

	/**
	* Sets the user uuid of this profile.
	*
	* @param userUuid the user uuid of this profile
	*/
	@Override
	public void setUserUuid(java.lang.String userUuid) {
		_profile.setUserUuid(userUuid);
	}

	/**
	* Returns the is doctor of this profile.
	*
	* @return the is doctor of this profile
	*/
	@Override
	public boolean getIsDoctor() {
		return _profile.getIsDoctor();
	}

	/**
	* Returns <code>true</code> if this profile is is doctor.
	*
	* @return <code>true</code> if this profile is is doctor; <code>false</code> otherwise
	*/
	@Override
	public boolean isIsDoctor() {
		return _profile.isIsDoctor();
	}

	/**
	* Sets whether this profile is is doctor.
	*
	* @param isDoctor the is doctor of this profile
	*/
	@Override
	public void setIsDoctor(boolean isDoctor) {
		_profile.setIsDoctor(isDoctor);
	}

	/**
	* Returns the speciality of this profile.
	*
	* @return the speciality of this profile
	*/
	@Override
	public int getSpeciality() {
		return _profile.getSpeciality();
	}

	/**
	* Sets the speciality of this profile.
	*
	* @param speciality the speciality of this profile
	*/
	@Override
	public void setSpeciality(int speciality) {
		_profile.setSpeciality(speciality);
	}

	/**
	* Returns the qualification of this profile.
	*
	* @return the qualification of this profile
	*/
	@Override
	public int getQualification() {
		return _profile.getQualification();
	}

	/**
	* Sets the qualification of this profile.
	*
	* @param qualification the qualification of this profile
	*/
	@Override
	public void setQualification(int qualification) {
		_profile.setQualification(qualification);
	}

	/**
	* Returns the practicing since of this profile.
	*
	* @return the practicing since of this profile
	*/
	@Override
	public int getPracticingSince() {
		return _profile.getPracticingSince();
	}

	/**
	* Sets the practicing since of this profile.
	*
	* @param practicingSince the practicing since of this profile
	*/
	@Override
	public void setPracticingSince(int practicingSince) {
		_profile.setPracticingSince(practicingSince);
	}

	/**
	* Returns the create date of this profile.
	*
	* @return the create date of this profile
	*/
	@Override
	public java.util.Date getCreateDate() {
		return _profile.getCreateDate();
	}

	/**
	* Sets the create date of this profile.
	*
	* @param createDate the create date of this profile
	*/
	@Override
	public void setCreateDate(java.util.Date createDate) {
		_profile.setCreateDate(createDate);
	}

	/**
	* Returns the modified date of this profile.
	*
	* @return the modified date of this profile
	*/
	@Override
	public java.util.Date getModifiedDate() {
		return _profile.getModifiedDate();
	}

	/**
	* Sets the modified date of this profile.
	*
	* @param modifiedDate the modified date of this profile
	*/
	@Override
	public void setModifiedDate(java.util.Date modifiedDate) {
		_profile.setModifiedDate(modifiedDate);
	}

	@Override
	public boolean isNew() {
		return _profile.isNew();
	}

	@Override
	public void setNew(boolean n) {
		_profile.setNew(n);
	}

	@Override
	public boolean isCachedModel() {
		return _profile.isCachedModel();
	}

	@Override
	public void setCachedModel(boolean cachedModel) {
		_profile.setCachedModel(cachedModel);
	}

	@Override
	public boolean isEscapedModel() {
		return _profile.isEscapedModel();
	}

	@Override
	public java.io.Serializable getPrimaryKeyObj() {
		return _profile.getPrimaryKeyObj();
	}

	@Override
	public void setPrimaryKeyObj(java.io.Serializable primaryKeyObj) {
		_profile.setPrimaryKeyObj(primaryKeyObj);
	}

	@Override
	public com.liferay.portlet.expando.model.ExpandoBridge getExpandoBridge() {
		return _profile.getExpandoBridge();
	}

	@Override
	public void setExpandoBridgeAttributes(
		com.liferay.portal.model.BaseModel<?> baseModel) {
		_profile.setExpandoBridgeAttributes(baseModel);
	}

	@Override
	public void setExpandoBridgeAttributes(
		com.liferay.portlet.expando.model.ExpandoBridge expandoBridge) {
		_profile.setExpandoBridgeAttributes(expandoBridge);
	}

	@Override
	public void setExpandoBridgeAttributes(
		com.liferay.portal.service.ServiceContext serviceContext) {
		_profile.setExpandoBridgeAttributes(serviceContext);
	}

	@Override
	public java.lang.Object clone() {
		return new ProfileWrapper((Profile)_profile.clone());
	}

	@Override
	public int compareTo(com.hellodoctor.slayer.model.Profile profile) {
		return _profile.compareTo(profile);
	}

	@Override
	public int hashCode() {
		return _profile.hashCode();
	}

	@Override
	public com.liferay.portal.model.CacheModel<com.hellodoctor.slayer.model.Profile> toCacheModel() {
		return _profile.toCacheModel();
	}

	@Override
	public com.hellodoctor.slayer.model.Profile toEscapedModel() {
		return new ProfileWrapper(_profile.toEscapedModel());
	}

	@Override
	public com.hellodoctor.slayer.model.Profile toUnescapedModel() {
		return new ProfileWrapper(_profile.toUnescapedModel());
	}

	@Override
	public java.lang.String toString() {
		return _profile.toString();
	}

	@Override
	public java.lang.String toXmlString() {
		return _profile.toXmlString();
	}

	@Override
	public void persist()
		throws com.liferay.portal.kernel.exception.SystemException {
		_profile.persist();
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}

		if (!(obj instanceof ProfileWrapper)) {
			return false;
		}

		ProfileWrapper profileWrapper = (ProfileWrapper)obj;

		if (Validator.equals(_profile, profileWrapper._profile)) {
			return true;
		}

		return false;
	}

	/**
	 * @deprecated As of 6.1.0, replaced by {@link #getWrappedModel}
	 */
	public Profile getWrappedProfile() {
		return _profile;
	}

	@Override
	public Profile getWrappedModel() {
		return _profile;
	}

	@Override
	public void resetOriginalValues() {
		_profile.resetOriginalValues();
	}

	private Profile _profile;
}